package com.supermap.dubbo.api.cloud.maker;

import com.supermap.dataservice.util.JSONUtils;

/**
 * @author aqua
 * @description 公共/决策服务产品 统一调用接口 maker文件夹用于新版APP新增或修改接口
 * @date 2019年11月20 11:44
 * @email 1301584033@qq.com
 */
public interface MakerService {


    //决策服务产品
    JSONUtils getProductByArea(String areaCode,Integer limit);

    //获取轮播
    JSONUtils getIndexSlideInfo(String areaCode,Integer limit);

    //获取首页宣传广告
    JSONUtils getSlidesShow(String areaCode,Integer limit);

    //获取广告
    JSONUtils getAdSlideInfo(String areaCode,Integer state,Integer isuse,Integer limit);

    //获取溯源类型列表
    JSONUtils getTraceTypeList(String areaCode,String userId,String farm);

    //获取溯源列表
    JSONUtils getTraceList(String areaCode,String userId,String farm,String subject);

    //好产品阅读量、点赞数、分享次数更新
    Integer updateGoodsRead(String ptype,String gid,String genre);

    // 好产品访问量、点赞数、分享数统计
    JSONUtils getGoodsReadCount(String areaCode,String gtype,Integer limit);

    //获取美丽乡村类型列表
    JSONUtils getCountryTypeList(String areaCode);

    //获取美丽乡村列表
    JSONUtils getCountryList(String areaCode,String tcode);

    //美丽乡村阅读量、点赞数、分享次数更新
    Integer updateCountryRead(String cid,String ctype);

    // 美丽乡村访问量、点赞数、分享数统计
    JSONUtils getCountryReadCount(String areaCode,String Ctype,Integer limit);

    //获取首页定制功能
    JSONUtils getOrderMenuByUserId(Integer userId);

    //获取专家列表
    JSONUtils getExpertList(Integer userId,String expertName, Integer subjectId, String areaCode,Integer state, Integer page, Integer size);
    //关注
    JSONUtils putExpertAttention(Integer userId,Integer expertId);
    //关注
    JSONUtils delExpertAttention(Integer userId,Integer expertId);
    //广告上传相关
    JSONUtils putAdSlideInfo(AdInfo adInfo);
    JSONUtils saveAdSlideInfo(AdInfo adInfo);
    JSONUtils delAdSlideInfo(Integer adInfoId);

    //功能记录
    JSONUtils putMenuClick(String menuCode,Integer userId,String areaCode);

    //主体大户
    JSONUtils getUserList(String roleCode,String userName, String areaCode, Integer page, Integer size);

    //产品组列表
    JSONUtils getProductGroupList(String areaCode,Integer templateId);

    //产品列表
    JSONUtils getProductList(String groupIds);

    // 获取指定区域、日期内分布的预警信息
    JSONUtils getWarningList(String areaCode,String cdate);

    //内外网用户登录
    JSONUtils login(String loginName,String pwd);

    // 获取游客模式下菜单
    JSONUtils getVisitorMenuList(String areaCode);

    // 公众服务产品(阅读、点赞、分享)数统计 getCountListType
    JSONUtils getPublicProductCount(String areaCode,String Ctype,Integer limit);

}
